package com.freight.msg.service;

import com.freight.core.base.FreightBaseService;
import com.freight.msg.dto.MsgConsultingComplaintsDto;
import com.freight.msg.dto.MsgConsultingDto;
import com.freight.msg.dto.MsgConsultingRecordDto;
import com.freight.msg.entity.MsgConsultingComplaints;
import com.freight.msg.entity.MsgConsultingComplaintsRecord;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface MsgConsultingComplaintsService extends FreightBaseService<MsgConsultingComplaints, Long> {

    /**
     * 评价
     * @param msgConsultingId
     * @param level
     */
    void evaluate(Long msgConsultingId,Integer level);

    /**
     * 获取问题详细处理记录
     * @param msgConsultingId
     * @return
     */
    List<MsgConsultingComplaintsRecord> getmsgConsultingIdList(Long msgConsultingId);

    org.springframework.data.domain.Page<MsgConsultingComplaints> getHomeMsgList(Pageable pageable);


    /**
     * 获取问题咨询列表
     * @param pageable
     * @return
     */
    org.springframework.data.domain.Page<MsgConsultingComplaints> getMsgConsultingList(MsgConsultingComplaintsDto msgConsultingComplaintsDto, Integer handleState, Pageable pageable, String types);

    /**
     * 保存咨询问题
     * @param msgConsultingDto
     */
    void saveMsgConsulting(Long orderId,MsgConsultingDto msgConsultingDto,String type,String describePicture);

    /**
     * 保存处理咨询
     * @param msgConsultingRecordDto
     */
    void saveMsgConsultingRecord(Long msgComplaintId, MsgConsultingRecordDto msgConsultingRecordDto,String describePicture);


    /**
     * 结束问题咨询
     * @param msgConsultingId
     */
    void endMsgConsulting(Long msgConsultingId);
}
